package com.urbane.mybatis.entity;

import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.io.Serializable;

/**
 * 用户实体类
 * 继承 BaseEntity，自动拥有：
 * - id、createTime、updateTime、deleted、version 等通用字段
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = UserDTO.class)
public class User extends BaseEntity implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    // =============== 【2】核心业务字段 ===============
    /**
     * 用户名（业务主字段）
     */
    private String name;

    /**
     * 年龄
     */
    private Integer age;

    // =============== 【3】扩展业务字段 ===============
    /**
     * 邮箱
     */
    private String email;

    /**
     * 手机号
     */
    private String phone;

    /**
     * 用户状态（0-禁用，1-启用）
     */
    private Integer status;

    // ✅ 注意：不需要再写 id/version/deleted/createTime 等，已继承！
}